課程資訊
課程名稱
計算機結構
Computer Architecture 
開課學期
100-2 
授課對象
資訊工程學系  
授課教師
洪士灝 
課號
CSIE3340 
課程識別碼
902 46100 
班次
02 
學分
全/半年
半年 
必/選修
必帶 
上課時間
星期四2,3,4(9:10~12:10) 
上課地點
資102 
備註
限學號雙號 且 限本系所學生(含輔系、雙修生) 且 限學士班三年級以上
總人數上限:98人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1002ca 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程概括計算機系統硬體及軟體運作的基礎觀念。這是一個範圍很大、內容很多的課程,課程裡只用到基本的數學,沒有幾個小學生沒看過的公式,課程的重點在告訴各位,計算機系統在過去四十年為什麼能突飛猛進? 為何能不斷地以幾何級數增快他的運算速度? 過程中遇到過甚麼難題和挑戰? 計算機結構專家(computer architects),是如何運算他們的經驗和智慧,去分析和解決問題?

這些經驗和智慧,至今還不斷在迅速成長與累積,在現今台灣資訊電子業必須從代工產業轉變升級為創新系統設計產業的趨勢裡,重要性與日俱增。Computer architects在台灣未來資訊電子產業中,勢必扮演舉足輕重的角色。身為【資訊工程】專業的同學們,學好計算機結構,可以清楚知道電腦的運作原理,軟硬體各部分的機能,軟硬體模組之間的互動和影響,以至於能理解行動裝置和雲端系統的來龍去脈,進而學習如何針對特定應用設計出最佳的計算機系統。

這門課程是資工系大學部學生的必修課程,也是許多進階課程的基礎。這們課程中,可以學習的東西很多,在大學部的課程中,學生由了解指令集架構(instruction set architecture)的設計開始,去分辨簡單指令集電腦(RISC)和複雜指令集電腦(CISC)的不同與優劣之處。進一步再去學習電腦中各個部份的設計原理,各個部份之間的相互關係,以及電腦整體運作的效能。

這門課對於有興趣修習進階的電腦系統設計,高等作業系統核心運作,平行與分散式系統,以及增進電腦系統應用,都有很大的助益。  

課程目標
1. 以組合語言去深入認識電腦硬體與軟體的運作介面。
2. 了解電腦中的主要組件的設計及運作方式。
3. 熟悉CPU內部處理指令的管線以及記憶體的的架構。
4. 對於電腦系統架構,包括多核心處理機、網路、輸出入週邊裝置等之構成與相互關係。 
課程要求
修課前,學生必須先對於下列項目有足夠了解:
- 組合語言與C語言。
- 計算機概論。
- 數位設計。

每週上課三節(約佔成績評量之10%,包括上課發問回答以及小考)。每位學生繳交至少五份必須使用電腦的作業(約佔40%)。參加期中考與期末考(各約佔25%)。以上的成績計算方式,在課程進行中可能視狀況而有所修改,教授保有修改的權利。 
預期每週課後學習時數
 
Office Hours
每週一 16:00~18:00
每週三 10:00~12:00 
指定閱讀
Computer Organization & Design. The Hardware/Software Interface. 4th Edition. David A. Patterson and John L. Hennessy
請注意課本是第四版的書。本書有兩個版本: ARM版和標準(MIPS)版。去年台灣的經銷商進口的是ARM版,但是附贈MIPS版部分章節的影印本。 
參考書目
Computer Organization & Design. The Hardware/Software Interface. 4th Edition. ARM Edition. David A.
Patterson and John L. Hennessy (The Morgan Kaufmann Series in Computer Architecture and Design)  
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
上課表現 
10% 
 
2. 
期末考 
25% 
 
3. 
期中考 
25% 
 
4. 
作業 
40% 
 
 
課程進度
週次
日期
單元主題
第1週
  Chapter 1 Computer Abstraction and Technology 
第2週
  Chapter 2 Instructions: Language of the Computer 
第3週
  Chapter 2 Instructions: Language of the Computer 
第4週
2012/03/15  Instruction Set & Verilog 
第5週
2012/3/22  Chapter 3 Arithmetic for Computer  
第6週
2012/3/29  Chapter 4 The Processor 
第7週
2012/4/5  溫書假 
第8週
2012/4/12  Chapter 4 The Processor  
第9週
2012/4/19  Midterm Exam 
第10週
  Chapter 4 The Processor 
第11週
  Chapter 4 The Processor 
第12週
  Chapter 5 Large and Fast: Exploiting Memory Hierarchy  
第13週
  Chapter 6 Storage and Other I/O Topics (Part 2: I/O) 
第14週
  Chapter 7 Multicore, Multiprocessors, and Clusters (Part 1: Multicore and Multiprocessors) 
第15週
  Appendix A Graphics and Computing GPUs 
第16週
  Chapter 7 Multicore, Multiprocessors, and Clusters (Part 2: Clusters) 
第17週
  Advanced Topics 
第18週
  Final Exam